/*
 * Storage.java
 *
 * Created on 18 de agosto de 2007, 11:59
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package org.sidora.strata;

import org.sidora.core.Feature;
import org.sidora.core.Sector;
import org.sidora.core.Site;
import org.sidora.core.Zone;
import org.sidora.core.context.Context;
import org.sidora.strata.category.CategoryFormAction;
import org.sidora.strata.context.ChronoPropertiesAction;
import org.sidora.strata.context.ContextFormAction;
import org.sidora.strata.context.DocsPropertiesAction;
import org.sidora.strata.context.StrataPropertiesAction;
import org.sidora.strata.context.types.BuildedAction;
import org.sidora.strata.context.types.DeposedAction;
import org.sidora.strata.context.types.DevastedAction;
import org.sidora.strata.context.types.EmptyedAction;
import org.sidora.strata.context.types.StratumTypeAction;
import org.sidora.strata.context.types.SurfaceAction;
import org.sidora.strata.context.types.TechnicalAction;
import org.sidora.strata.explorer.ContextExplorerAction;
import org.sidora.strata.explorer.FeatureExplorerAction;
import org.sidora.strata.explorer.SectorExplorerAction;
import org.sidora.strata.explorer.ZoneExplorerAction;
import org.sidora.strata.feature.FeatureAction;
import org.sidora.strata.sector.SectorAction;
import org.sidora.strata.site.ActionFormAction;
import org.sidora.strata.site.PhaseFormAction;
import org.sidora.strata.site.SiteFormAction;
import org.sidora.strata.site.SiteNavigation;

/**
 * Storage
 * @author Enric Tartera, Juan Manuel Gimeno, Roger Masgoret
 * @version 1.0
 */
public final class Storage {
    private static Site site;
    private static Zone zone;
    private static Sector sector;
    private static Feature feature;
    private static Context context;
    
    private static CategoryFormAction categoryFormAction;
    private static SiteFormAction siteFormAction;
    private static ContextFormAction contextFormAction;
    private static PhaseFormAction phaseFormAction;// = new PhaseFormAction();
    private static ActionFormAction actionFormAction;// = new ActionFormAction();
    private static SiteNavigation siteNavigation;// = new SiteNavigation();
    private static ZoneExplorerAction  zoneExplorerAction; // = new ZoneExplorerAction();
    private static SectorExplorerAction sectorExplorerAction;
    private static FeatureExplorerAction featureExplorerAction;
    private static ContextExplorerAction contextExplorerAction;
    private static ChronoPropertiesAction chronoPropertiesAction;
    private static StratumTypeAction stratumTypeAction;
    private static BuildedAction buildedAction;
    private static DeposedAction deposedAction;
    private static DevastedAction devastedAction;
    private static EmptyedAction emptyedAction;
    private static SurfaceAction surfaceAction;
    private static TechnicalAction technicalAction;
    private static FeatureAction featureAction;
    private static DocsPropertiesAction docsPropertiesAction;
    private static StrataPropertiesAction strataPropertiesAction;
    private static SectorAction sectorAction;
    
    /** Creates a new instance of Storage */
    public Storage() {
    }
    
        public static SectorAction getSectorAction(){
        if(sectorAction == null){
            sectorAction = new SectorAction();
        }
        return sectorAction;
    }
    
    public static StrataPropertiesAction getStrataPropertiesAction(){
        if(strataPropertiesAction == null){
            strataPropertiesAction = new StrataPropertiesAction();
        }
        return strataPropertiesAction;
    }
    
    public static DocsPropertiesAction getDocsPropertiesAction(){
        if (docsPropertiesAction == null){
            docsPropertiesAction = new DocsPropertiesAction();
        }
        return docsPropertiesAction;
    }
    
    public static FeatureAction getFeatureAction(){
        if (featureAction == null){
            featureAction = new FeatureAction();
        }
        return featureAction;
    }
    
    public static BuildedAction getBuildedAction(){
        if (buildedAction == null){
            buildedAction = new BuildedAction();
        }
        return buildedAction;
    }
    
    public static DeposedAction getDeposedAction(){
        if (deposedAction == null){
            deposedAction = new DeposedAction();
        }
        return deposedAction;
    }
    
    public static DevastedAction getDevastedAction(){
        if (devastedAction == null){
            devastedAction = new DevastedAction();
        }
        return devastedAction;
    }
    
    public static EmptyedAction getEmptyedAction(){
        if (emptyedAction == null){
            emptyedAction = new EmptyedAction();
        }
        return emptyedAction;
    }
    
    public static SurfaceAction getSurfaceAction(){
        if (surfaceAction == null){
            surfaceAction = new SurfaceAction();
        }
        return surfaceAction;
    }
    
    public static TechnicalAction getTechnicalAction(){
        if (technicalAction == null){
            technicalAction = new TechnicalAction();
        }
        return technicalAction;
    }
    
    public static StratumTypeAction getStratumTypeAction(){
        if (stratumTypeAction == null){
            stratumTypeAction = new StratumTypeAction();
        }
        return stratumTypeAction;
    }
    
    public static ChronoPropertiesAction getChronoPropertiesAction(){
        if (chronoPropertiesAction == null){
            chronoPropertiesAction = new ChronoPropertiesAction();
        }
        return chronoPropertiesAction;
    }
    
    
    public static CategoryFormAction getCategoryFormAction(){
        if (categoryFormAction == null){
            categoryFormAction = new CategoryFormAction();
        }
        return categoryFormAction;
    }
    
    public static ContextExplorerAction getContextExplorerAction(){
        if (contextExplorerAction == null){
            contextExplorerAction = new ContextExplorerAction();
        }
        return contextExplorerAction;
    }
    
    public static SiteFormAction getSiteFormAction(){
        if (siteFormAction == null){
            siteFormAction = new SiteFormAction();
        }
        return siteFormAction;
    }
    
    public static ContextFormAction getContextFormAction(){
        if (contextFormAction == null){
            contextFormAction = new ContextFormAction();
        }
        return contextFormAction;
    }
    
    public static FeatureExplorerAction getFeatureExplorerAction(){
        if (featureExplorerAction == null){
            featureExplorerAction = new FeatureExplorerAction();
        }
        return featureExplorerAction;
    }
    
    public static SectorExplorerAction getSectorExplorerAction(){
        if (sectorExplorerAction ==null){
            sectorExplorerAction = new SectorExplorerAction();
        }
        return sectorExplorerAction;
    }
    
    public static PhaseFormAction getPhaseFormAction() {
        if (phaseFormAction==null){
            phaseFormAction = new PhaseFormAction();
        }
        return phaseFormAction;
    }
    
    public static ActionFormAction getActionFormAction() {
        if (actionFormAction == null){
            actionFormAction = new ActionFormAction();
        }
        return actionFormAction;
    }
    
    
    public static SiteNavigation getSiteNavigation() {
        if (siteNavigation == null){
            siteNavigation = new SiteNavigation();
        }
        return siteNavigation;
    }
    
    
    public static ZoneExplorerAction getZoneExplorerAction() {
        if (zoneExplorerAction == null){
            zoneExplorerAction = new ZoneExplorerAction();
        }
        return zoneExplorerAction;
    }
    
    public static Site getSite() {
        return site;
    }
    
    public static void setSite(Site aSite) {
        site = aSite;
    }
    
    public static Zone getZone() {
        return zone;
    }
    
    public static void setZone(Zone aZone) {
        zone = aZone;
    }
    
    public static Sector getSector() {
        return sector;
    }
    
    public static void setSector(Sector aSector) {
        sector = aSector;
    }
    
    public static Feature getFeature() {
        return feature;
    }
    
    public static void setFeature(Feature aFeature) {
        feature = aFeature;
    }
    
    public static Context getContext() {
        return context;
    }
    
    public static void setContext(Context aContext) {
        context = aContext;
    }
    
    
}
